package com.zhanghp.class05;

import com.zhanghp.refer.TreeNode;

/**
 * <h1>判断2棵树是否相同</h1>
 * <a href = "https://leetcode.cn/problems/same-tree">leetcode</a>
 *
 * @author zhanghp
 * @since 2024/1/9 13:59
 */
public class Code02_SameTree {
    public static boolean isSameTree(TreeNode p, TreeNode q){
        if (p == null ^ q == null) {
            return false;
        }
        // 只判断一个的原因：
        // 因为异或的结果，p和q只有都相同，才能走下面的逻辑，所以，要么p和q都是空，要么p和q都不为空
        // 所以只判断一个
        if (p == null) {
            return true;
        }
        return p.val == q.val && isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
    }
}
